#ifndef LRCPAGE_H
#define LRCPAGE_H

#include <QWidget>
#include <QPropertyAnimation>

//Lrc行歌词结构
struct LrcWordLine
{
    LrcWordLine(qint64 lrcTime, QString lrcText)
    {
        //初始化此lrc行歌词的文本和时间信息
        this->lrcTime=lrcTime;
        this->lrcText=lrcText;
    }

    qint64 lrcTime;//歌词时间
    QString lrcText;//歌词文本
};

namespace Ui {
class LrcPage;
}

class LrcPage : public QWidget
{
    Q_OBJECT

public:
    explicit LrcPage(QWidget *parent = nullptr);
    ~LrcPage();
    //对lrc歌词文件进行解析
    bool parseLrcFile(const QString& lrcFilePath);
    //在歌词界面同步显示歌词 根据time来找到要显示的行歌词对象的歌词文本信息进行显示
    void showLrcWordLine(qint64 time);
    //获取当前行在此LrcWord中的索引-根据时间来进行获取
    int getLrcWordLineIndex(qint64 time);
    //获取此index下标对应的lrcWordLines中的歌词信息
    QString getLrcWordByIndex(int index);

private:
    Ui::LrcPage *ui;
    QPropertyAnimation *animal;//下移动画效果
    QVector<LrcWordLine> lrcWordLines;//管理LrcWordLine行信息对象
};

#endif // LRCPAGE_H
